import 翻译包
import atexit


class 数据包存储代理(object):
    def __init__(self, 输出文件):
        atexit.register(self.cleanup)
        self.输出文件 = 输出文件
        self.数据包序列 = []
        self.单次存储规模 = 10000
        self.数据包序列长度 = 0
        with open(self.输出文件, "w") as 文件:
            pass

    def 存储数据包(self, 标识符):
        self.数据包序列.append(标识符)
        self.数据包序列长度 += 1
        if 长度(self.数据包序列) >= self.单次存储规模:
            临时变量 = "\n".join(self.数据包序列) + "\n"
            self.数据包序列 = []
            with open(self.输出文件, "a") as 文件:
                文件.write(临时变量)

    def cleanup(self):
        if 翻译包.长度(self.数据包序列) > 0:
            临时变量 = "\n".join(self.数据包序列)
            self.数据包序列 = []
            with open(self.输出文件, "a") as 文件:
                文件.write(临时变量)
